import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
import Rights from '../components/power/Rights.vue'
import Roles from '../components/power/Roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Params.vue'
import List from '../components/goods/list.vue'
import Add from '../components/goods/Add.vue'
import Order from '../components/order/Order.vue'
import Report from '../components/report/Report.vue'

Vue.use(VueRouter)

const routes = [

]

const router = new VueRouter({
	routes: [ // redirect  重定向 每次打开 都会自动跳转到logiN
		{
			path: '/',
			redirect: '/login'
		},
		{
			path: '/login',
			component: Login
		},
		{
			path: '/home',
			component: Home,
			//子路由 打开home页面，包含了welcom页面
			redirect: '/welcome',
			children: [ 
				{	path: '/welcome',component: Welcome},
				{ path: '/users',component: Users },
				{ path: '/rights',component: Rights },
				{ path: '/roles',component: Roles },
				{ path: '/categories',component: Cate },
				{ path: '/params',component: Params },
				{ path: '/goods',component: List },
				{ path: '/goods/add',component: Add },
				{ path: '/orders',component: Order },
				{ path: '/reports',component: Report }
			]
		}
	]
})

// 挂载路由导航守卫
//为路由对象，添加beforeBach 导航守卫
router.beforeEach((to, from, next) => {
	// to:将要方位的路径 from:代表从哪个路径
	// next:是一个函数，表示放行。 
	// next() 表示放心 next('/login')表示强制跳转
	//如果用户访问的登录页，直接放行
	if (to.path === '/login') return next();
	//从sessionStorage 中获取到保存的token 值
	const tokenStr = window.sessionStorage.getItem('token');
	//没有token,强制跳转到登录页
	if (!tokenStr) return next('/login');
	next();
})


export default router
